a = 0011 1101
b = 0000 1100
& => 二進位運算的and,a & b = 0000 1100
| => 二進位運算的or,a | b = 0011 1101
^ => 二進位運算的xor,a ^ b = 0011 0001
~ => 二進位運算的not,~ a = 1100 0010
<< => 二進位運算的左移,a << 2 = 1111 0100
>> => 二進位運算的右移,a >> 2 = 0000 1111
== => 兩值相等為True
!= => 兩值不相等為True
<> => 兩值不相等為True
> => 左值大於右值為True
< => 左值小於右值為True
>= => 左值大於或等於右值為True
<= => 左值小於或等於右值為True
>>> a = 10
>>> b = 20
>>> a == b
False
>>> a != b
True
>>> a > b
False
>>> a < b
True
>>> "hello" == "hello"
True
>>> "hello" == "world"
False
>>> "a" > "b"
False
>>> "b" > "a"
True
不只數值可以比較喔!字串也可以!
and: 兩者都成立才為Trueor: 其中一個成立就為Truenot: 反轉操作,如果其中一個條件成立,反向後回傳為False
# a 和 b 兩者皆大於0才為True,才符合if條件
if ( a and b ):
print("Yes,a 和 b 兩者皆大於0才為True,才符合if條件")
else:
print("No")
# a 和 b 其中之一大於0就為True,就符合if條件
if ( a or b ):
print("Yes,a 和 b 其中之一大於0就為True,就符合if條件")
else:
print("No")
# a 和 b 其中之一大於0就為True,但加上反向not之後則為False
if not( a or b ):
print("Yes")
else:
print("No")
當 a = 10、b = 20 結果
Yes,a 和 b 兩者皆大於0才為True,才符合if條件
Yes,a 和 b 其中之一大於0就為True,就符合if條件
No
當 a = 10、b = 0 結果
No
Yes,a 和 b 其中之一大於0就為True,就符合if條件
No
當 a、b = 0 結果
No
No
Yes
條件判斷在程式中很重要,要先判斷條件是否成立,才能決定要做什麼事情。
依我們昨天BMI為例子,當BMI小於18.5,就要顯示“體重過輕”的訊息。
條件判斷經常使用,所使用的就是if指令。

if判斷式最重要的當然是if嘛,但是有時候情境可能不只一種,
當if成立做A事情,不成立時做B事情,這時候就可以使用else
elif與else視情況而自行增加,elif可以有好幾個。
if、elif、else後面必須加上:
很重要 : 事件描述句要縮排,縮排格式要一致,空格和tab不可以混用。

if(條件):
執行動作描述句...
elif(條件):
執行動作描述句...
else: #不需要寫條件,當不符合上面的條件,其餘所有狀況都會走這裡。
執行動作描述句...
昨天我們計算了BMI,今天來把它擴充功能吧!
if (BMI < 18.5):
print("體重過輕")
elif (18.5 <= BMI < 24):
print("正常範圍")
else:
print("體重過重")
體重過重的部分也可以分更細
if (BMI < 18.5):
print("體重過輕")
elif (18.5 <= BMI < 24):
print("正常範圍")
elif (24 <= BMI < 27):
print("體重過重")
elif (27 <= BMI < 30):
print("輕度肥胖")
elif (30 <= BMI < 35):
print("中度肥胖")
else: #(BMI >= 35)
print("重度肥胖")

buy_apple = 1
if see_egg:
buy_apple = 6
工程師笑話![]()